<template>
  <div class="editor-article">
    <el-input
      type="text"
      placeholder="请输入文章标题（必填）"
      minlength="2"
      maxlength="30"
      show-word-limit
      class="editor-title"
      clearable
      v-model="title"
    />
    <div class="editor-quill" v-quill:myQuillEditor="quillOptions"></div>
    <div class="article-cover">
      <div class="ac__left">设置封面</div>
      <div class="ac__right">
        <div class="ac__right__logo">
          <img
            src="../../../assets/images/icons/icon_cover_add.png"
            alt=""
            class="ac__right__logo__img"
          />
        </div>
        <div class="ac__right__title">
          点击上传封面图
        </div>
        <div class="ac__right__tip">
          格式：png/jpg/jpeg/bmp/gif
          <br />尺寸：1080*600(16:9)最佳
        </div>
      </div>
    </div>
    <div class="article-topic">
      <RoyoleCascader
        v-for="(topic, index) in topicList"
        :key="index"
        :topic="topic"
        class="article-topic__item"
      >
        <template v-slot:title>
          <div class="article-topic__item__title">
            {{ topic.title }}
          </div>
        </template>
      </RoyoleCascader>
    </div>
    <div class="editor-bottom">
      <div class="button--grey">保存草稿</div>
      <div class="button--grey">在线预览</div>
      <div class="button--highlight">发表</div>
    </div>
  </div>
</template>
<script>
import RoyoleCascader from '../../../components/RoyoleCascader'
export default {
  name: 'Editorarticle',
  data() {
    return {
      topicList: [
        {
          title: '选择话题',
          placeholder: '请搜索或选择话题',
          options: [
            {
              value: 'zhinan',
              label: '指南',
              children: [
                {
                  value: 'shejiyuanze',
                  label: '设计原则',
                  children: [
                    {
                      value: 'yizhi',
                      label: '一致',
                    },
                    {
                      value: 'fankui',
                      label: '反馈',
                    },
                    {
                      value: 'xiaolv',
                      label: '效率',
                    },
                    {
                      value: 'kekong',
                      label: '可控',
                    },
                  ],
                },
                {
                  value: 'daohang',
                  label: '导航',
                  children: [
                    {
                      value: 'cexiangdaohang',
                      label: '侧向导航',
                    },
                    {
                      value: 'dingbudaohang',
                      label: '顶部导航',
                    },
                  ],
                },
              ],
            },
            {
              value: 'zujian',
              label: '组件',
              children: [
                {
                  value: 'basic',
                  label: 'Basic',
                  children: [
                    {
                      value: 'layout',
                      label: 'Layout 布局',
                    },
                    {
                      value: 'color',
                      label: 'Color 色彩',
                    },
                    {
                      value: 'typography',
                      label: 'Typography 字体',
                    },
                    {
                      value: 'icon',
                      label: 'Icon 图标',
                    },
                    {
                      value: 'button',
                      label: 'Button 按钮',
                    },
                  ],
                },
                {
                  value: 'form',
                  label: 'Form',
                  children: [
                    {
                      value: 'radio',
                      label: 'Radio 单选框',
                    },
                    {
                      value: 'checkbox',
                      label: 'Checkbox 多选框',
                    },
                    {
                      value: 'input',
                      label: 'Input 输入框',
                    },
                    {
                      value: 'input-number',
                      label: 'InputNumber 计数器',
                    },
                    {
                      value: 'select',
                      label: 'Select 选择器',
                    },
                    {
                      value: 'cascader',
                      label: 'Cascader 级联选择器',
                    },
                    {
                      value: 'switch',
                      label: 'Switch 开关',
                    },
                    {
                      value: 'slider',
                      label: 'Slider 滑块',
                    },
                    {
                      value: 'time-picker',
                      label: 'TimePicker 时间选择器',
                    },
                    {
                      value: 'date-picker',
                      label: 'DatePicker 日期选择器',
                    },
                    {
                      value: 'datetime-picker',
                      label: 'DateTimePicker 日期时间选择器',
                    },
                    {
                      value: 'upload',
                      label: 'Upload 上传',
                    },
                    {
                      value: 'rate',
                      label: 'Rate 评分',
                    },
                    {
                      value: 'form',
                      label: 'Form 表单',
                    },
                  ],
                },
                {
                  value: 'data',
                  label: 'Data',
                  children: [
                    {
                      value: 'table',
                      label: 'Table 表格',
                    },
                    {
                      value: 'tag',
                      label: 'Tag 标签',
                    },
                    {
                      value: 'progress',
                      label: 'Progress 进度条',
                    },
                    {
                      value: 'tree',
                      label: 'Tree 树形控件',
                    },
                    {
                      value: 'pagination',
                      label: 'Pagination 分页',
                    },
                    {
                      value: 'badge',
                      label: 'Badge 标记',
                    },
                  ],
                },
                {
                  value: 'notice',
                  label: 'Notice',
                  children: [
                    {
                      value: 'alert',
                      label: 'Alert 警告',
                    },
                    {
                      value: 'loading',
                      label: 'Loading 加载',
                    },
                    {
                      value: 'message',
                      label: 'Message 消息提示',
                    },
                    {
                      value: 'message-box',
                      label: 'MessageBox 弹框',
                    },
                    {
                      value: 'notification',
                      label: 'Notification 通知',
                    },
                  ],
                },
                {
                  value: 'navigation',
                  label: 'Navigation',
                  children: [
                    {
                      value: 'menu',
                      label: 'NavMenu 导航菜单',
                    },
                    {
                      value: 'tabs',
                      label: 'Tabs 标签页',
                    },
                    {
                      value: 'breadcrumb',
                      label: 'Breadcrumb 面包屑',
                    },
                    {
                      value: 'dropdown',
                      label: 'Dropdown 下拉菜单',
                    },
                    {
                      value: 'steps',
                      label: 'Steps 步骤条',
                    },
                  ],
                },
                {
                  value: 'others',
                  label: 'Others',
                  children: [
                    {
                      value: 'dialog',
                      label: 'Dialog 对话框',
                    },
                    {
                      value: 'tooltip',
                      label: 'Tooltip 文字提示',
                    },
                    {
                      value: 'popover',
                      label: 'Popover 弹出框',
                    },
                    {
                      value: 'card',
                      label: 'Card 卡片',
                    },
                    {
                      value: 'carousel',
                      label: 'Carousel 走马灯',
                    },
                    {
                      value: 'collapse',
                      label: 'Collapse 折叠面板',
                    },
                  ],
                },
              ],
            },
            {
              value: 'ziyuan',
              label: '资源',
              children: [
                {
                  value: 'axure',
                  label: 'Axure Components',
                },
                {
                  value: 'sketch',
                  label: 'Sketch Templates',
                },
                {
                  value: 'jiaohu',
                  label: '组件交互文档',
                },
              ],
            },
          ],
        },
        {
          title: '选择圈子',
          placeholder: '请搜索或选择圈子',
          options: [
            {
              value: 'zhinan',
              label: '指南',
              children: [
                {
                  value: 'shejiyuanze',
                  label: '设计原则',
                  children: [
                    {
                      value: 'yizhi',
                      label: '一致',
                    },
                    {
                      value: 'fankui',
                      label: '反馈',
                    },
                    {
                      value: 'xiaolv',
                      label: '效率',
                    },
                    {
                      value: 'kekong',
                      label: '可控',
                    },
                  ],
                },
                {
                  value: 'daohang',
                  label: '导航',
                  children: [
                    {
                      value: 'cexiangdaohang',
                      label: '侧向导航',
                    },
                    {
                      value: 'dingbudaohang',
                      label: '顶部导航',
                    },
                  ],
                },
              ],
            },
            {
              value: 'zujian',
              label: '组件',
              children: [
                {
                  value: 'basic',
                  label: 'Basic',
                  children: [
                    {
                      value: 'layout',
                      label: 'Layout 布局',
                    },
                    {
                      value: 'color',
                      label: 'Color 色彩',
                    },
                    {
                      value: 'typography',
                      label: 'Typography 字体',
                    },
                    {
                      value: 'icon',
                      label: 'Icon 图标',
                    },
                    {
                      value: 'button',
                      label: 'Button 按钮',
                    },
                  ],
                },
                {
                  value: 'form',
                  label: 'Form',
                  children: [
                    {
                      value: 'radio',
                      label: 'Radio 单选框',
                    },
                    {
                      value: 'checkbox',
                      label: 'Checkbox 多选框',
                    },
                    {
                      value: 'input',
                      label: 'Input 输入框',
                    },
                    {
                      value: 'input-number',
                      label: 'InputNumber 计数器',
                    },
                    {
                      value: 'select',
                      label: 'Select 选择器',
                    },
                    {
                      value: 'cascader',
                      label: 'Cascader 级联选择器',
                    },
                    {
                      value: 'switch',
                      label: 'Switch 开关',
                    },
                    {
                      value: 'slider',
                      label: 'Slider 滑块',
                    },
                    {
                      value: 'time-picker',
                      label: 'TimePicker 时间选择器',
                    },
                    {
                      value: 'date-picker',
                      label: 'DatePicker 日期选择器',
                    },
                    {
                      value: 'datetime-picker',
                      label: 'DateTimePicker 日期时间选择器',
                    },
                    {
                      value: 'upload',
                      label: 'Upload 上传',
                    },
                    {
                      value: 'rate',
                      label: 'Rate 评分',
                    },
                    {
                      value: 'form',
                      label: 'Form 表单',
                    },
                  ],
                },
                {
                  value: 'data',
                  label: 'Data',
                  children: [
                    {
                      value: 'table',
                      label: 'Table 表格',
                    },
                    {
                      value: 'tag',
                      label: 'Tag 标签',
                    },
                    {
                      value: 'progress',
                      label: 'Progress 进度条',
                    },
                    {
                      value: 'tree',
                      label: 'Tree 树形控件',
                    },
                    {
                      value: 'pagination',
                      label: 'Pagination 分页',
                    },
                    {
                      value: 'badge',
                      label: 'Badge 标记',
                    },
                  ],
                },
                {
                  value: 'notice',
                  label: 'Notice',
                  children: [
                    {
                      value: 'alert',
                      label: 'Alert 警告',
                    },
                    {
                      value: 'loading',
                      label: 'Loading 加载',
                    },
                    {
                      value: 'message',
                      label: 'Message 消息提示',
                    },
                    {
                      value: 'message-box',
                      label: 'MessageBox 弹框',
                    },
                    {
                      value: 'notification',
                      label: 'Notification 通知',
                    },
                  ],
                },
                {
                  value: 'navigation',
                  label: 'Navigation',
                  children: [
                    {
                      value: 'menu',
                      label: 'NavMenu 导航菜单',
                    },
                    {
                      value: 'tabs',
                      label: 'Tabs 标签页',
                    },
                    {
                      value: 'breadcrumb',
                      label: 'Breadcrumb 面包屑',
                    },
                    {
                      value: 'dropdown',
                      label: 'Dropdown 下拉菜单',
                    },
                    {
                      value: 'steps',
                      label: 'Steps 步骤条',
                    },
                  ],
                },
                {
                  value: 'others',
                  label: 'Others',
                  children: [
                    {
                      value: 'dialog',
                      label: 'Dialog 对话框',
                    },
                    {
                      value: 'tooltip',
                      label: 'Tooltip 文字提示',
                    },
                    {
                      value: 'popover',
                      label: 'Popover 弹出框',
                    },
                    {
                      value: 'card',
                      label: 'Card 卡片',
                    },
                    {
                      value: 'carousel',
                      label: 'Carousel 走马灯',
                    },
                    {
                      value: 'collapse',
                      label: 'Collapse 折叠面板',
                    },
                  ],
                },
              ],
            },
            {
              value: 'ziyuan',
              label: '资源',
              children: [
                {
                  value: 'axure',
                  label: 'Axure Components',
                },
                {
                  value: 'sketch',
                  label: 'Sketch Templates',
                },
                {
                  value: 'jiaohu',
                  label: '组件交互文档',
                },
              ],
            },
          ],
        },
      ],
      title: '',
      quillOptions: {
        placeholder: '请输入文字...',
        modules: {
          toolbar: [
            ['bold', 'italic', 'underline', 'strike'], //加粗，斜体，下划线，删除线
            ['blockquote', 'code-block'], //引用，代码块
            [{ header: 1 }, { header: 2 }], // 标题，键值对的形式；1、2表示字体大小
            [{ list: 'ordered' }, { list: 'bullet' }], //列表
            [{ indent: '-1' }, { indent: '+1' }], // 缩进
            [{ direction: 'rtl' }], // 文本方向
            [{ size: ['small', false, 'large', 'huge'] }], // 字体大小
            [{ header: [1, 2, 3, 4, 5, 6, false] }], //几级标题
            [{ color: [] }, { background: [] }], // 字体颜色，字体背景颜色
            // [{ font: [] }], //字体
            // [{ align: [] }], //对齐方式
            // ['clean'], //清除字体样式
            ['image', 'video'], //上传图片、上传视频
          ],
        },
      },
    }
  },
  components: {
    RoyoleCascader,
  },
}
</script>
<style lang="scss" scoped>
.editor-article {
  padding-left: 32px;
  .editor-title {
    margin: 30px 0 30px -10px;
    width: 920px;
    font-size: 28px;
  }
  .article-cover {
    margin-top: 24px;
    display: flex;
    .ac__left {
      margin-right: 32px;
      font-size: 16px;
      font-weight: 500;
    }
    .ac__right {
      width: 320px;
      height: 180px;
      background: rgba($color: #000000, $alpha: 0.03);
      border-radius: 8px;
      .ac__right__logo {
        padding-top: 28px;
        padding-bottom: 8px;
        .ac__right__logo__img {
          display: block;
          margin: 0 auto;
          width: 40px;
          height: 40px;
        }
      }
      .ac__right__title {
        padding-bottom: 8px;
        text-align: center;
        font-size: 14px;
        font-weight: 400;
        color: rgba($color: #000000, $alpha: 0.6);
      }
      .ac__right__tip {
        text-align: center;
        line-height: 20px;
        font-size: 12px;
        font-weight: 400;
        color: rgba($color: #000000, $alpha: 0.4);
      }
    }
  }
  .article-topic {
    padding-top: 24px;
    .article-topic__item {
      padding-bottom: 24px;
      display: flex;
      align-items: center;
      .article-topic__item__title {
        padding-right: 32px;
        font-size: 16px;
        font-weight: 500;
      }
    }
  }
  .editor-bottom {
    margin-left: -32px;
    height: 64px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border-top: solid 1px rgba(#000000, 0.1);
    .button--highlight {
      margin-right: 24px;
      @include button($color-royole, #ffffff);
    }
    .button--grey {
      margin-right: 24px;
      @include button(rgba(#000000, 0.05), rgba(#00000000, 0.6));
    }
  }
}
</style>
